Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour San Marino Challenger Porto Challenger Augsburg Challenger Prague 3 Challenger Davis Cup, Group I, 1R, AUT-POR 1-3 Oeiras 2 Challenger Oeiras 1 Challenger Tigre Challenger Davis Cup, World Group, Q, FIN-POR 3-1 Open 13 Provence - Marseille M15 Les Franqueses del Valles Murcia Challenger Girona Challenger Millennium Estoril Open - Estoril Rome Challenger Open Parc - Lyon Prague Challenger M25 Sabadell Karlsruhe Challenger Trieste Challenger Milan Challenger Nordea Open - Bastad Seville Challenger Dobrich 2 Challenger Porto 2 Challenger M25 Santa Margherita di Pula M15 Valencia Rosario Challenger Montemar Challenger Hersonissos 2 Challenger Maia Challenger Piracicaba Challenger Hersonissos 1 Challenger Buenos Aires Challenger Porto Alegre Challenger M25 Badalona M25 Denia M25 Tarragona M25 Santa margherita di Pula M25 Reus Santos Challenger Cassis Challenger Sibiu Challenger M25 Mataro Troyes Challenger M25 Montauban Royan Challenger Pozoblanco Challenger Augsburg Challenger Antofagasta Challenger Sofia 1 Challenger Genova Challenger Cali Challenger Curitiba Challenger M25 Valencia Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 Spain F26 Spain F27 Spain F34 Spain F35 Portugal F4 Portugal F5 Spain F38 Spain F39 Spain F40 Spain F41 Spain F5 Spain F6 Spain F8 Spain F9 Spain F10 Spain F13 Spain F18 Spain F19 Spain F20 Spain F30 Spain F31 Spain F34 Portugal F7 Portugal F8 Spain F39 Spain F40 Spain F41 Spain F42 United Arab Emirates F1 United Arab Emirates F2 Spain F3 Spain F4 Spain F5 Spain F7 Spain F10 Spain F11 Turkey F4 Turkey F5 Turkey F6 Spain F16 Spain F17 Spain F18 Spain F20 Spain F21 France F12 Spain F28 Spain F29 Spain F30 Portugal F4 Portugal F5 Spain F35 Spain F37 Spain F3 Spain F4 Italy F2 Italy F3 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 Italy F17 Spain F31 Spain F35 Spain F36 France F4 Spain F14 Spain F15 Spain F36 Spain F37 Spain F38 Spain F9 Spain F1 Spain F6 Spain F7 (Javea) Spain F8 (Reus) Spain F13 (Valldoreix) Spain F14 (Vic) Spain F27 (Donostia-San-Sebastian) Spain F30 (Madrid) Spain F31 (Sabadell) Turkey F37 (Antalya) Spain F33 (Riba - Roja de Turia) Turkey F39 (Antalya) Turkey F40 (Antalya) Tunisia F36 (Hammamet) Tunisia F37 (Hammamet) Tunisia F40 (Hammamet) Spain F4 (Paguera (Mallorca)) Spain F5 (Murcia) Tunisia F10 (Hammamet) Spain F7 (Reus) Tunisia F12 (Hammamet) Spain F9 (Madrid) Israel F5 (Akko) Israel F6 (Sajur) Spain F11 (Valldoreix) Spain F12 (Vic) Spain F13 (Sta. Margarida Montbui) Tunisia F24 (Hammamet) Tunisia F25 (Hammamet) Spain F18 (Getxo) Morocco F1 (Khemisset) Spain F23 (Vigo) Belgium F9 (Huy) Belgium F10 (Damme) Turkey F28 (Antalya) Turkey F29 (Antalya) Spain F30 (Melilla) Spain F31 (Riba - Roja de Turia) Tunisia F37 (Monastir) Turkey F36 (Antalya) Turkey F37 (Antalya) M15 Manacor M15 Palmanova M15 Palmanova M15 Tabarka M15 Tabarka M15 Tabarka M15 Reus M15 Tabarka M25 Angers M15 Valldoreix M25 Vic M15 Tabarka M15 Tabarka M15 Tabarka M25 Montauban M25 Getxo M25 Denia M15 Xativa M25 Vogau M25 Pitesti M25 Santander M25 Santa Margherita Di Pula M15 Sabadell M15 Benicarlo M15 Cairo M15 Cairo M15 Palmanova M15 Antalya M25 Antalya M25 Murcia M15 Anif M25 Pardubice M25+H Rodez M25 Hamburg M25 Vale Do Lobo M15 Valldoreix M15 Villena M15 La Nucia M25 Reus M25 Angers M25 Prague M25 Vic M25 Bourg-en-Bresse M25 Casinalbo M25 Prostejov M25 Madrid M15 Villena M25 Mataro M25 Valldoreix M25 Esch/Alzette M25 Benicarlo Spain F33 Spain F3 Spain F17 Romania F11 Romania F10 Spain F33 Orbetello Challenger Seville Challenger Tarragona Challenger Rennes Challenger Tanger Challenger Rabat Challenger Tallahassee Challenger Reggio Emilia Challenger Manerbio Challenger Seville Challenger Izmir Challenger Sao Paulo Challenger Heilbronn Challenger Courmayeur Challenger Quimper Challenger Casablanca Challenger Guangzhou Challenger Pingguo Challenger Furth Challenger Marburg Challenger Braunschweig Challenger Tampere Challenger Segovia Challenger San Marino Challenger San Sebastian Challenger Szczecin Challenger Madrid Challenger Eckental Challenger Meknes Challenger Casablanca Challenger Rabat Challenger Marrakech Challenger Mersin Challenger Kosice Challenger Milan Challenger Tampere Challenger Sibiu Challenger Cordenons Challenger Como Challenger Alphen Challenger Bordeaux Challenger Furth Challenger Kosice Challenger Todi Challenger Poznan Challenger Guimaraes Challenger M25 Manacor M25 Torello M25 Sabadell M25 Gurb M25 Mataro Nur-Sultan Challenger Szczecin Challenger Sibiu Challenger Todi Challenger Forli Challenger Barcelona Challenger Maia Challenger Antalya 2 Challenger Cherbourg Challenger Gran Canaria 2 Challenger Oeiras 4 Challenger Lyon Challenger Milan Challenger Prague 3 Challenger Mallorca Challenger Seville Challenger Biel Challenger Braga Challenger Orleans Challenger Murcia Challenger Barcelona Challenger Alicante Challenger Buenos Aires Challenger Brest Challenger Tenerife Challenger Pau Challenger Helsinki Challenger Bari Challenger Antalya 3 Challenger Maia 1 Challenger Maia 2 Challenger Quimper Challenger Forli 4 Challenger Pau Challenger Gran Canaria Challenger Roseto Degli Abruzzi 1 Challenger Mauthausen Challenger Heilbronn Challenger Tunis Challenger Blois Challenger Oeiras 3 Challenger Troyes Challenger Cordenons Challenger San Marino Challenger Banja Luka Challenger Toulouse Challenger Szczecin Challenger Braga Challenger M25 Santa Margherita di Pula Guayaquil Challenger M25 Santa Margherita di Pula Roanne Challenger Valencia Challenger Tenerife 1 Challenger Tenerife 2 Challenger Cherbourg Challenger Antalya Challenger Phoenix Challenger Szekesfehervar Challenger Las Franquesas del Valles Challenger Girona Challenger Madrid Challenger Oeiras 3 Challenger Aix En Provence Challenger Lyon Challenger Troyes Challenger Mallorca Challenger Bratislava 2 Challenger Buenos Aires Challenger Punta Del Este Challenger Piracicaba Challenger Poznan Challenger Tampere Challenger Dobrich Challenger Punta Del Este Challenger Prostejov Challenger Porto 2 Challenger Szczecin Challenger M25 Punta del Este Winston-Salem Open - Winston-Salem M25 Vic M25 Riba - Roja de Turia M25 Vic Estoril Open - Estoril Estoril Open - Estoril Estoril Open - Estoril If Stockholm Open - Stockholm Mamaia Challenger - Constanta Open 13 - Marseille Estoril Open - Estoril Kos Succhetti Tennis Cup - Cordenons 84° Concurso Internacional Tenis San Sebastian - San Sebastian German Tennis Championships - Hamburg Aircel Chennai Open - Chennai Trnava Challenger Heineken Open - Auckland Recanati Challenger Tampere Challenger Istanbul Challenger Kosice Challenger Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Studena Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Aircel Chennai Open - Chennai Apia International - Sydney VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Power Horse Cup - Dusseldorf Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Valencia Open - Valencia Qatar ExxonMobil Open - Doha Apia International - Sydney Open Sud de France - Montpellier St. Brieuc Challenger Copa Claro - Buenos Aires Rio Open 500 - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras Power Horse Cup - Dusseldorf Gerry Weber Open - Halle Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Vegeta Croatia Open - Umag Winston-Salem Open - Winston-Salem Moselle Open - Metz Malaysian Open - Kuala Lumpur China Open - Beijing If Stockholm Open - Stockholm Valencia Open - Valencia Heineken Open - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Rome Challenger Geneva Open - Geneva Topshelf Open - 's-Hertogenbosch AEGON Championships - London Aegon Nottingham Open - Nottingham Vegeta Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Valencia Open - Valencia St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Rakuten Japan Open - Tokyo Erste Bank Open - Vienna ASB Classic - Auckland Cremona Challenger Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Gerry Weber Open - Halle Antalya Cup - Antalya Konzum Croatia Open - Umag Suisse Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Rakuten Japan Open - Tokyo European Open - Antwerp ASB Classic - Auckland Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Open Parc - Lyon Gerry Weber Open - Halle Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Winston-Salem Open - Winston-Salem Chengdu Open - Chengdu China Open - Beijing Swiss Indoors Basel - Basel ASB Classic - Auckland Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Libema Open - 's-Hertogenbosch Noventi Open - Halle Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Swiss Open - Gstaad Kazan Challenger St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Quimper Challenger Bergamo Challenger Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel ASB Classic - Auckland ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Generali Open - Kitzbuhel European Open - Antwerp Hamburg European Open - Hamburg Cordoba Open - Cordoba Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Millennium Estoril Open - Estoril Open Parc - Lyon Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Hall of Fame Open - Newport Trnava Challenger Sardegna Open - Cagliari Melbourne Summer Set - Melbourne Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona San Juan Challenger Serbia Open - Belgrade Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Mercedes Cup - Stuttgart Noventi Open - Halle Rio De Janeiro Challenger Mallorca Championships - Mallorca Nordea Open - Bastad Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz Stockholm Open - Stockholm Erste Bank Open - Vienna Tel Aviv Watergen Open - Tel Aviv Gijon Open - Gijon ASB Classic - Auckland Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Chile Dove Men+Care Open - Santiago Millennium Estoril Open - Estoril Porto Alegre Challenger Barcelona Open Banc Sabadell - Barcelona Montevideo Challenger Meknes Challenger M25 Prague Marrakech Challenger Leon Challenger Tunis Challenger Turin Challenger Lisbon Challenger Seville Challenger M25 Reus Rome Challenger M25 Santa Margherita di Pula Bordeaux Challenger Furth Challenger Madrid Challenger San Benedetto Challenger San Marino Challenger Cordenons Challenger Como Challenger Sibiu Challenger Segovia Challenger Zadar Challenger Marbella Challenger Cordenons Challenger Aix En Provence Challenger Iasi Challenger Cordenons Challenger Oeiras 1 Challenger Iasi Challenger San Benedetto Challenger Maspalomas Challenger Tunis Challenger Vicenza Challenger Blois Challenger Braga Challenger BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Hamburg Challenger Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Ortisei Challenger Ismaning Challenger Calgary Challenger Drummondville Challenger Valencia Challenger Maia Challenger Maspalomas Challenger Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Barcelona Challenger Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne Madrid Challenger French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Heilbronn Challenger French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Perugia Challenger Liberec Challenger Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 2R, SUI-POR 5-0 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, PO, UKR-POR 3-1 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, 1R, ROU-POR 3-1 Tampere Challenger Oeiras 2 Challenger Gran Canaria 1 Challenger Seville Challenger Cassis Challenger Bratislava Challenger Seville Challenger Lisbon Challenger Parma Challenger Kremlin Cup - Moscow Open 13 Provence - Marseille Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, Group I, 1R, POR-BRA 3-1 Davis Cup, World Group, PO, POR-CZE 1-3 St. Petersburg Open - St. Petersburg Banja Luka Challenger M15 Torello Chengdu Open - Chengdu European Open - Antwerp Open Sud de France - Montpellier Shenzhen Open - Shenzhen Swiss Indoors Basel - Basel Barcelona Open BancSabadell - Barcelona St. Petersburg Open - St. Petersburg Open Sud de France - Montpellier Miami Open - Miami Australian Open - Melbourne U.S. Open - New York Davis Cup, Group I, 1R, POR-SVK 4-1 All Lower level tournaments Olympics - Rio de Janeiro Olympics - Tokyo Davis Cup, Group I, PO, POR-RSA 4-0